feat(engine): implement dynamic VAD thresholds for playback echo supp…#52
feat(engine): implement dynamic VAD thresholds for playback echo supp…#52
Conversation
|
Claude finished @jjleng's task in 1m 37s —— View job Code Review
Overall this is a clean, well-motivated change. The design decisions are sound and the code is clear. A few observations below, ordered by importance. What's well done
Observations1. Mid-utterance threshold elevation [ Whether this is acceptable depends on how often a bot starts playback while the user is mid-speech. If that scenario occurs (e.g., re-engagement prompts) it could cause silent barge-in failures that are hard to debug. A conservative guard: // Only elevate threshold between utterances — mid-speech, keep the gate open.
if !self.vad.inner.is_speaking() {
self.vad.set_threshold(if is_playing { ... } else { ... });
}…though that would need a public 2. Denoiser-off edge case [ 3. Both 4. No tests for threshold switching
Minor nits
|
|
Claude finished @jjleng's task in 1m 50s —— View job Unable to access issue #51
|

…ression